package main

import (
	"fmt"
	"reflect"
)

type Example struct{}

func main(){
	a1 := 10
	t1 := reflect.TypeOf(a1)
	v1 := reflect.ValueOf(a1)
	k1 := v1.Kind()
	fmt.Println(t1, k1)  // 原生类型的类别看不出来
	a2 := Example{}
	t2 := reflect.TypeOf(a2)
	v2 := reflect.ValueOf(a2)
	k2 := v2.Kind()
	fmt.Println(t2, k2)  // 自定义结构体的类型是自定义的名字，类别是struct
	fmt.Printf("%T %T", k2 ,k2.String())
}